One of the biggest challenges that have been observed in the field of software testing is to ensure quality of a software program/software product. In the production environment, the testing team and the development team work together for developing and testing the software product using a set of test cases. However, after the software product has been deployed in a production environment there may be different environmental changes introduced in the software product. The changes may be due to underlying platform/production environment on which the software product is deployed or due to the software update and addition of new functionalities to the software product once it is deployed. The changes in the software product may lead to introduction of bugs/anomalous behavior of the software product.
One way to ensure the quality of the software product is to conduct periodic testing of the software product, to identify bugs and performance issues, once the software product is deployed in the production environment. For the purpose of testing the software product in the production environment, the set of test cases, also referred to as test suite, designed by the testing team in the production environment is used. A test suite may contain hundreds of test cases configured to test different functionalities and Graphical User Interface (GUI) of the software product.
However, it is not always possible to test the software product using the entire set of test cases of the test suite once the software product is deployed in the production environment. One way out is to identify a subset of test cases, from the test suite, for testing the software product deployed in the production environment. However, there is no standard mechanism for identifying which test cases from the test suite are applicable in order to test the software product in the production environment.